JavaScript Comparison

তুলনা অপারেটর শিখুন

Comparison Operators

তুলনা অপারেটর দুটি মান তুলনা করতে ব্যবহার করা হয়.

তুলনা অপারেটর সবসময় হয়trueবাfalseদিচ্ছে

x = 5এটি দেওয়া, নীচের সারণী তুলনা অপারেটর ব্যাখ্যা করে:

Comparison Operators

Operator Description Comparing Returns
== equal to x == 8 false
x == 5 true
x == "5" true
=== equal value and equal type x === 5 true
x === "5" false
!= not equal x != 8 true
!== not equal value or not equal type x !== 5 false
x !== "5" true
x !== 8 true
> greater than x > 8 false
< less than x < 8 true
>= greater than or equal to x >= 8 false
<= less than or equal to x <= 8 true

💡== বনাম === পার্থক্য:

==(আলগা সমতা) - শুধুমাত্র মান পরীক্ষা করে, প্রকার পরিবর্তন করার চেষ্টা করে

===(কঠোর সমতা) - মান এবং প্রকার উভয়ই পরীক্ষা করে

Usage in Conditional Statements

তুলনা অপারেটরগুলি শর্তসাপেক্ষ বিবৃতিগুলিতে মান তুলনা করতে এবং ফলাফলের উপর ভিত্তি করে পদক্ষেপ নিতে ব্যবহার করা যেতে পারে:

Example: Comparison in if statement

if (age < 18) {
  text = "Too young to buy alcohol";
}

📚শেখা:

শর্তসাপেক্ষ বিবৃতি ব্যবহার সম্পর্কে এই টিউটোরিয়ালif...elseঅধ্যায়ে আরও জানতে পারবেন।

JavaScript String Comparison

উপরের সমস্ত তুলনা অপারেটর স্ট্রিংগুলিতেও ব্যবহার করা যেতে পারে:

Example: String Comparison

let text1 = "A";
let text2 = "B";
let result = text1 < text2;  // true

মনে রাখবেন যে স্ট্রিংগুলি বর্ণানুক্রমিকভাবে তুলনা করা হয়:

Example: Alphabetical Comparison

let text1 = "20";
let text2 = "5";
let result = text1 < text2;  // true

🔤বর্ণানুক্রমিক তুলনা:

স্ট্রিং তুলনা করার সময়, জাভাস্ক্রিপ্ট প্রতিটি অক্ষরের ইউনিকোড মান তুলনা করে। "20" < "5" সত্য কারণ "2" (ইউনিকোড 50) "5" (ইউনিকোড 53) এর চেয়ে কম।

Comparing Different Types

বিভিন্ন ধরনের ডেটা তুলনা করলে অপ্রত্যাশিত ফলাফল পাওয়া যায়।

একটি সংখ্যার সাথে একটি স্ট্রিং তুলনা করার সময়, তুলনা করার সময় জাভাস্ক্রিপ্ট স্ট্রিংটিকে একটি সংখ্যায় রূপান্তর করে। একটি খালি স্ট্রিং 0 এ রূপান্তরিত হবে। একটি অ-সংখ্যাসূচক স্ট্রিং NaN এ রূপান্তরিত হয়, যা সর্বদা মিথ্যা হয়।

Case Value Result Explanation
2 < 12 true true দুটিই সংখ্যা, 2 <12 সত্য
2 < "12" true true "12" একটি সংখ্যায় রূপান্তরিত হয় এবং 12 হয়, 2 <12 সত্য
2 < "John" false false "জন" NaN তে রূপান্তরিত হয়, কোন সংখ্যা NaN এর চেয়ে কম নয়
2 > "John" false false "John" কে NaN তে রূপান্তর করা হয়েছে, NaN এর চেয়ে বড় কোন সংখ্যা নেই
2 == "John" false false "জন" NaN তে রূপান্তরিত হয়, 2 == NaN মিথ্যা
"2" < "12" false false স্ট্রিং তুলনা: "2" (ইউনিকোড 50) "1" (ইউনিকোড 49) এর চেয়ে বড়।
"2" > "12" true true স্ট্রিং তুলনা: "2" > "1" সত্য
"2" == "12" false false স্ট্রিং ভিন্ন

⚠️গুরুত্বপূর্ণ নোট:

দুটি স্ট্রিং তুলনা,"2"হয়"12"থেকে বড় হবে

বর্ণানুক্রমিকভাবে 1 হল 2 থেকে কম (ইউনিকোড মান: "1" = 49, "2" = 50)।

Type Conversion for Proper Comparison

সঠিক ফলাফল পেতে, তুলনা করার আগে ভেরিয়েবলগুলিকে সঠিক টাইপে রূপান্তর করতে হবে:

Example: Proper Type Conversion

age = Number(age);
if (isNaN(age)) {
  voteable = "Input is not a number";
} else {
  voteable = (age < 18) ? "Too young" : "Old enough";
}

🏆সর্বোত্তম অনুশীলন:

সর্বদা মিশ্র বিভাগের তুলনা এড়িয়ে চলুন। তুলনা করার আগে স্পষ্টভাবে বিভাগগুলি রূপান্তর করুন।

কঠোর সমতার জন্য (===এবং!==) অনুকূল অগ্রাধিকার দিন।

== vs === Deep Comparison

Comparison == Result === Result Explanation
5 == 5 true true একই মান এবং প্রকার
5 == "5" true false ==প্রকার পরিবর্তন,===ধরন পরীক্ষা করা হচ্ছে
0 == false true false ==মিথ্যাকে 0-এ রূপান্তরিত করে
1 == true true false ==1 এ সত্য ফেরত দেয়
"" == false true false ==উভয়কেই 0-এ রূপান্তরিত করে
null == undefined true false ==বিশেষ নিয়ম,===বিভিন্ন প্রকার
null == 0 false false null0 এর সমান নয়

Comparison with NaN

NaN (সংখ্যা নয়) হল একটি বিশেষ মান যা যেকোনো তুলনাতে ভিন্নভাবে আচরণ করে:

Example: NaN Comparisons

NaN == NaN;      // false
NaN === NaN;     // false
NaN != NaN;      // true
NaN !== NaN;     // true
NaN < 5;         // false
NaN > 5;         // false
NaN == 5;        // false

🚫NaN তুলনা নিয়ম:

NaN সহ কোন মূল্যের সমান নয়! NaN এর সাথে তুলনা করুনisNaN()ফাংশন ব্যবহার করুন:

let x = NaN;
isNaN(x);        // true
Number.isNaN(x); // true

Exercise

নিম্নলিখিত তুলনা ফলাফল কি?

5 === "5"
true
✗ ভুল!===অপারেটর কঠোর সমতার জন্য পরীক্ষা করে। বাম দিকে একটি সংখ্যা (5), ডান পাশে একটি স্ট্রিং ("5") - প্রকারগুলি ভিন্ন
false
✓ ঠিক আছে!===অপারেটর মান এবং প্রকার উভয়ই পরীক্ষা করে। 5 (সংখ্যা) এবং "5" (স্ট্রিং) বিভিন্ন প্রকার, তাই ফলাফলটি মিথ্যা
TypeError
✗ ভুল! তুলনা অপারেটররা TypeError নিক্ষেপ করে না। তারা সবসময় সত্য বা মিথ্যা ফিরে আসে। বিভিন্ন ধরনের তুলনা করা যেতে পারে, কিন্তু===প্রকার পার্থক্যের জন্য মিথ্যা প্রদান করে
undefined
✗ ভুল! তুলনা অপারেটর সবসময় একটি বুলিয়ান মান (সত্য/মিথ্যা) প্রদান করে। তারা অনির্ধারিত ফিরে না